/**
 * Package for Deployment area service unit classes.
 */
jsx3.lang.Package.definePackage("tibco.admin.deployment.sa.su", function() {
});

/**
 * Interface to be implemented by all plugin components wishing to create a new tab obj
 * for Service Unit detail tabbedpane.
 */
jsx3.lang.Class.defineInterface(
        "tibco.admin.deployment.sa.su.SUDetailInterface",
        tibco.admin.plugin.PluginInterface,
        function(plugin) {

            /**
            * Abstract method to be implemented by plugin components.<br /><br />
            * Called by the parent plugin container to get the text to be displayed in the tab for this plugin.
            */
            plugin.prototype.getTabText = jsx3.lang.Method.newAbstract();

            /**
            * Preimplemented function to return a {jsx3.util.List} of {String} objects representing the service unit
            * types that are supported by this plugin.  When an unsupported type is selected, the tab will be hidden.
            *
            * @return {jsx3.util.List} a list of {String} objects representingthe names of the types supported by the
            *                          plugin.  Return null to support all types.
            */
            plugin.prototype.getSupportedTypes = function() {
                return null;
            }

            /**
            * Preimplemented empty function for backwards-compatibility.  Shouldbe overridden by the plugin component
            * to handle refreshes of data when the tab is selected again.
            */
            plugin.prototype.tabSelected = function() {

            }
        }

        );
